$(document).ready(function(){ 
    var categoria = document.getElementById("proyecto_mainbundle_datoitemtype_categoria").value;
    if (categoria > 0){
        enviarPeticion("../ajax/items_modificar.php","POST",procesaRespuesta, crearQueryStringCategoria(categoria));
    }
});


function cargarItems(){
	$(document).ready(function(){ 
                var url = Routing.generate('list_item_json');
		var lista = document.getElementById("proyecto_mainbundle_datoitemtype_categoria");
		var seleccionado = lista.options[lista.selectedIndex].value;
		enviarPeticion(url,"POST",procesaRespuesta, crearQueryStringCategoria(seleccionado));
	})
}

function cargarItemsModificar(){
	$(document).ready(function(){ 
		var lista = document.getElementById("categorias");
		var seleccionado = lista.options[lista.selectedIndex].id;
		enviarPeticion("../ajax/items_modificar.php","POST",procesaRespuesta, crearQueryStringCategoria(seleccionado));
	})
}

function inicializa_xhr() {
  if(window.XMLHttpRequest) {
    return new XMLHttpRequest();
  }
  else if(window.ActiveXObject) {
    return new ActiveXObject("Microsoft.XMLHTTP");
  }
} 

function enviarPeticion(url, metodo, funcion, query_string) {
  peticion_http = inicializa_xhr();

  if(peticion_http) {
    peticion_http.onreadystatechange = funcion;
    peticion_http.open(metodo, url, true);
	peticion_http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    peticion_http.send(query_string);
  }
}

function procesaRespuesta() {
	if(peticion_http.readyState == 4) {
		if(peticion_http.status == 200) {
			var json_data = peticion_http.responseText;
			
			var respuesta = eval("(" + json_data + ")");
			if (respuesta.cantidad==0){
				
				var lista = document.getElementById("proyecto_mainbundle_datoitemtype_idItem");
				lista.options.length = 0;
				lista.options[0] = new Option("Selecciona un item");
				lista.disabled=true;
				alert("No hay items para la categoria seleccionada");
			}else{
				var lista = document.getElementById("proyecto_mainbundle_datoitemtype_idItem");
				lista.options.length = 0;
				lista.options[0] = new Option("Selecciona un item");
				var i=1;
				for(var item in respuesta) {
					lista.options[i] = new Option(respuesta[item].descripcion, respuesta[item].id_item);
					
					i++;
				}
				lista.disabled=false;
			}
		}
		deshabilitarForm(lista.value);
	}
}

function crearQueryStringCategoria(val){
	var qs;
        var usuario = document.getElementById('proyecto_mainbundle_datoitemtype_idUsuario').value;
	qs="idcategoria=" + encodeURIComponent(val) + "&usuario=" + encodeURIComponent(usuario) + "&nocache=" + Math.random();
	return qs;
}

function crearQueryStringItem(val){
	var qs;
	qs="iditem=" + encodeURIComponent(val) + "&nocache=" + Math.random();
	return qs;
}

function respuestaTipos(){
	if(peticion_http.readyState == 4) {
		if(peticion_http.status == 200) {
			var json_data = peticion_http.responseText;
			var respuesta = eval("(" + json_data + ")");
			var elemento;
			switch (respuesta.tipo) {
				case 'text': 
					elemento=document.createElement('input');
					elemento.type = 'text';
					break;
				case 'textarea':
					elemento=document.createElement('textarea');
					break;
				case 'date':
					elemento=document.createElement('input');
					elemento.type = 'date';
					break;
		
			}
			var divcontenido= document.getElementById('targetcontenido');
			divcontenido.removeChild(document.getElementById('proyecto_mainbundle_datoitemtype_contenido'));
			elemento.name='proyecto_mainbundle_datoitemtype[contenido]';
			elemento.className='activable';
			elemento.id='proyecto_mainbundle_datoitemtype_contenido';
			divcontenido.appendChild(elemento);
			
		}
	}
}


function habilitarForm(value){
	var valor=false;
	if (isNaN(value)){
		valor=true;
	}else{
                var url = Routing.generate('tipo_item_json');
		enviarPeticion(url,"POST",respuestaTipos, crearQueryStringItem(value));
	}
	var elementos=document.getElementsByClassName('activable');
	for (var i=0;i<elementos.length;i++){
		elementos[i].disabled=valor;
	}
}


function cargarDatos(value){
	var valor=false;
	if (isNaN(value)){
		valor=true;
	}else{
		enviarPeticion("../ajax/cargarItem.php","POST",respuestaItem, crearQueryStringItem(value));
	}
	var elementos=document.getElementsByClassName('activable');
	for (var i=0;i<elementos.length;i++){
		elementos[i].disabled=valor;
	}
}

function respuestaItem(){
	if(peticion_http.readyState == 4) {
		if(peticion_http.status == 200) {
			var json_data = peticion_http.responseText;
			var respuesta = eval("(" + json_data + ")");
			document.getElementById('descripcion').value=respuesta.descripcion;
			document.getElementById('buscable').checked=respuesta.buscable;
			
			if (respuesta.repetible==1)
				{document.getElementById('repetible').checked=respuesta.repetible;
				}else{document.getElementById('repetible').checked=false;}
			if (respuesta.activo==1)
				{document.getElementById('activo').checked=respuesta.activo;
				}else{document.getElementById('activo').checked=false;}
			if (respuesta.buscable==1)
				{document.getElementById('buscable').checked=respuesta.buscable;
				}else{document.getElementById('buscable').checked=false;}
			document.getElementById('listtipos').value=respuesta.tipo;
		}
	}

}

function deshabilitarForm(value){
	var valor=true;
	var elementos=document.getElementsByClassName('activable');
	for (var i=0;i<elementos.length;i++){
		elementos[i].disabled=valor;
	}
}

